/**
 * 
 */
package com.yidu.drug.service.impl;

import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;

import javax.annotation.Resource;

import org.springframework.stereotype.Service;

import com.yidu.drug.common.Page;
import com.yidu.drug.dao.InventoryModelMapper;
import com.yidu.drug.model.InventoryModel;
import com.yidu.drug.service.InventoryService;

/**
 * 库存明细service实现类
 * @author tanglei
 * @date 2018年8月22日 下午4:07:37
 * @version 1.0
 */
@Service
public class InventoryServiceImpl implements InventoryService{
	//注入库存明细Dao
	@Resource
	private InventoryModelMapper inventoryDao;
	
	@Override
	public int deleteByPrimaryKey(String invId) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public int insert(InventoryModel record) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public int insertSelective(InventoryModel record) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public InventoryModel selectByPrimaryKey(String invId) {
		// TODO Auto-generated method stub
		return null;
	}

	@Override
	public int updateByPrimaryKeySelective(InventoryModel record) {
		// TODO Auto-generated method stub
		return inventoryDao.updateByPrimaryKeySelective(record);
	}

	@Override
	public int updateByPrimaryKey(InventoryModel record) {
		// TODO Auto-generated method stub
		return 0;
	}

	@Override
	public Map<String, Object> findByRepId(InventoryModel record) {
		//创建一个分页对象
		Page page = new Page();
		//给分页对象里面的页数属性赋值，数值为库存明细对象里面的页数数值
		page.setPage(Integer.valueOf(record.getPage()));
		//给分页对象里面的每页显示行数的属性赋值，数值为库存明细对象里面的每页显示行数数值
		page.setRows(Integer.valueOf(record.getLimit()));
		//给库存明细里面的分页对象属性赋值
		record.setPages(page);
		//创建一个map集合
		Map<String,Object> map = new HashMap<String,Object>();
		//创建一个List集合
		List<InventoryModel> list = new ArrayList<InventoryModel>();
		//判断，判断是调用查询药品库存明细的方法还是调用查询原材料查询库存明细的方法
		if("drug".equals(record.getCondition())){
			//调用查询药品库存明细的方法
			list = inventoryDao.findByRepIdDrug(record);
		}else if("materials".equals(record.getCondition())){
			//调用查询原材料库存明细的方法
			list = inventoryDao.findByRepIdMaterials(record);
		}
		//调用查询总行数的方法
		Long count = inventoryDao.findRows(record);
		//给map集合赋值
		map.put("code", 0);
		map.put("msg", "");
		map.put("count", count);
		map.put("data", list);
		//返回map集合
		return map;
	}

	@Override
	public List<InventoryModel> findByFilIdDrug(String filId, String drugId) {
		
		return inventoryDao.findByFilIdDrug(filId, drugId);
	}

	@Override
	public InventoryModel findByMxNumber(String mxNumber) {
		// TODO Auto-generated method stub
		return inventoryDao.findByMxNumber(mxNumber);
	}
	/**
	 * 根据药品id和批次号修改库存表的数量
	 */
	@Override
	public Object updates(Integer invNumber, String pwId, String numbers,String repId) {
		
		return inventoryDao.updates(invNumber, pwId, numbers,repId);
	}
	/**
	 * 根据库存表查询库存详情表的所有数量
	 */
	@Override
	public Integer findAllsl(String repId) {
		
		return inventoryDao.findAllsl(repId);
	}
	/**
	 * 根据库存id和批次号以及药品id查询数量
	 */
	@Override
	public Integer kcsl(String pwId, String numbers, String repId) {
		
		return inventoryDao.kcsl(pwId, numbers, repId);
	}

	



	
	
}
